#coding:utf-8
"""
创建一个完整的flask项目框架在本文档
将相应配置都放在该文件
过后拆目录
"""
'''
配置:
    蓝图 暂时不用
    mysql数据库
    redis
    session
    csrf防护
    迁移

'''



from flask import Flask
from flask_sqlalchemy import SQLAlchemy

import redis
from flask_session import Session
from flask_wtf import CSRFProtect





app = Flask(__name__)
db = SQLAlchemy(app)


class Config(object):
    '''配置文件'''
    DEBUG = True



    #mysql数据库,sqlalchemy
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/aijiazufang'
    SQLALCHEMY_TRACK_MODIFICATIONS = True


    #redis 配置
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

    #flask-session配置,去flaks-session中查到
    SESSION_TYPE = 'redis'
    SESSION_REDIS =  redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    PERMANENT_SESSION_LIFETIME = 86400  #session数据的有效期,单位秒
    SESSION_USE_SIGNER = True  #对cookie中的session__id进行隐藏处理,并且需要设置seceret_key
    SECRET_KEY = 'afekl;qrt14'


#注册配置文件
app.config.from_object(Config)


#创建redis连接对象,将这里的host与post都放入Config
# redis_store = redis.StrictRedis(host='127.0.0.1',port=6379)
redis_store = redis.StrictRedis(host=Config.REDIS_HOST, port=Config.REDIS_PORT)


# 利用flask_session,将session数据保存到redis中
Session(app)

#为flask补充csrf防护
CSRFProtect(app)


@app.route("/")
def index():
    pass

if __name__ == '__main__':
    app.run()

